<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>04. Strategies for solving 'simple' Gnonograms</title>
<link rel="stylesheet" type="text/css" href="C.css">
</head>
<body>
<div class="header"><div class="trails"><div class="trail">
<a class="trail" href="index.html" title="Gnonogram v 0.9.5 Manual"> <span class="media media-image"><img src="figures/gnonograms48.png" alt=""></span> Gnonogram v 0.9.5 Manual
</a> » </div></div></div>
<div class="body">
<div class="links nextlinks">
<a class="nextlinks-prev" href="solvingmode.html" title="03. Solving mode">Previous</a>  |  <a class="nextlinks-next" href="advancedstrategy.html" title="04b. Strategies for solving 'difficult' Gnonograms">Next</a>
</div>
<div class="hgroup"><h1 class="title"><span class="title">04. Strategies for solving 'simple' Gnonograms</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Many puzzles can be solved by considering only one row or column at a time. Certain cells in that row/column can be inferred to be filled or empty. The effect of completing those cells on other rows/columns is then considered.  This is repeated until the puzzle is complete.
	</p>
<p class="p">Below are some methods that can be applied to single rows/columns.
	</p>
<p class="p">See <span class=" link"><a href="glossary.html" title="A1. Word Meanings">A1. Word Meanings</a></span> for the meanings of <span class=" em">italicised words</span>
	</p>
<p class="p">In the examples below the colours have the following meanings:
	</p>
<p class="p">Grey - unsolved
	</p>
<p class="p">Solid blue -filled
	</p>
<p class="p">Solid yellow - empty
	</p>
<p class="p">Translucent red - leftmost possibility of block
	</p>
<p class="p">Translucent blue - rightmost possibility of block
	</p>
<p class="p">Purple - overlap of leftmost and rightmost possibilities - cells that can be inferred as filled
	</p>
</div>
<div id="fixed" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Fixed Cells</span></h2></div>
<div class="region"><div class="contents">
<p class="p">If the <span class=" em">freedom</span> in a <span class=" em">region</span> is less than the length of one or more of the blocks known to be confined to that <span class=" em">region</span> then <span class=" em">(length - freedom)</span> cells in the centre of the <span class=" em">range</span> of that block must be filled. These are the cells where the block overlaps with itself when placed at the two extremes of its range.
		</p>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 1a</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Fixed-cells-1.png" alt=""></div></div>
<p class="p">result ...
		  </p>
<div class="media media-image"><div class="inner"><img src="figures/Fixed-cells-1b.png" alt=""></div></div>
</div>
<div class="desc">An block length 11 in a 15 cell row. Freedom is 15-11=4. Filled region length 11-4=7.
		  </div>
</div>
</div></div>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 1b</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Fixed-cells-2.png" alt=""></div></div>
<p class="p">result ...</p>
<div class="media media-image"><div class="inner"><img src="figures/Fixed-cells-2b.png" alt=""></div></div>
</div>
<div class="desc">Three blocks in a 15 cell row. Freedom=15-4-1-1-1-5=3. Filled regions lengths 4-3=1 and 5-3=2</div>
</div>
</div></div>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 1c</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Fixed-cells-3.png" alt=""></div></div>
<p class="p">result ...
		  </p>
<div class="media media-image"><div class="inner"><img src="figures/Fixed-cells-3b.png" alt=""></div></div>
</div>
<div class="desc">Three blocks in a 15 cell row with three cells marked empty (yellow) dividing it into three subregions of length 3,5 and 4. Because only one block can fit in each sub-region they can be considered separately, each with its own value for freedom. Filled regions lengths 2-1=1, 3-2=1 and 2-2=0
		  </div>
</div>
</div></div>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 1d</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Fixed-cells-4.png" alt=""></div></div>
<p class="p">result ...
		  </p>
<div class="media media-image"><div class="inner"><img src="figures/Fixed-cells-4b.png" alt=""></div></div>
</div>
<div class="desc">Four blocks in a 15 cell row divided into four subregions. The second block can only be in the second region and the last block can only be in the last region.  However, the 1-cell blocks could be in more than one region. Nevertheless, some cells can be fixed in the last region.
		  </div>
</div>
</div></div>
</div></div>
</div></div>
<div id="unreachable" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Unreachable</span></h2></div>
<div class="region"><div class="contents">
<p class="p">When a block has been associated with a particular range of filled cells, then those cells that out of range of any block can be marked as empty. This most often applies to the first and last blocks.
		</p>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 2a</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Unreachable-1.png" alt=""></div></div>
<p class="p">result ...
		  </p>
<div class="media media-image"><div class="inner"><img src="figures/Unreachable-1b.png" alt=""></div></div>
</div>
<div class="desc">The filled cells must be part of the only block in the clue. This restricts the possible range of the block and the cells at the extremes of the region must be empty.  Note also that unknown cells between two filled cells belonging to the same block can be filled in.
		  </div>
</div>
</div></div>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 2b</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Unreachable-2.png" alt=""></div></div>
<p class="p">result ...</p>
<div class="media media-image"><div class="inner"><img src="figures/Unreachable-2b.png" alt=""></div></div>
</div>
<div class="desc">The two blocks are pinned near the edge by the filled cells.  The central cells can be marked empty.</div>
</div>
</div></div>
</div></div>
</div></div>
<div id="edge" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Edge effects</span></h2></div>
<div class="region"><div class="contents">
<p class="p">If a known filled cell occurs at or near the edge of a region, within range of the first block in that region, then further cells may be filled in. This can be employed in either direction.</p>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 3a</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Edge-1.png" alt=""></div></div>
<p class="p">result ...
		  </p>
<div class="media media-image"><div class="inner"><img src="figures/Edge-1b.png" alt=""></div></div>
</div>
<div class="desc">A filled cell at the beginning/end of a region. The first/last block can be completed and capped with an empty cell. The block is fixed to the edge.</div>
</div>
</div></div>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 3b</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Edge-2.png" alt=""></div></div>
<p class="p">result ...
		  </p>
<div class="media media-image"><div class="inner"><img src="figures/Edge-2b.png" alt=""></div></div>
</div>
<div class="desc">A filled cell near the beginning/end of a region, within range of the first/last block. Some cells can be completed. The block is 'pinned' near the edge.
		  </div>
</div>
</div></div>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 3c</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Edge-3.png" alt=""></div></div>
<p class="p">result ...
		  </p>
<div class="media media-image"><div class="inner"><img src="figures/Edge-3b.png" alt=""></div></div>
</div>
<div class="desc">An example where the 'edge' is away from the sides of the region. The pair of filled cells can only be associated with the first 3-cell block and therefore this can be completed and capped.
		  </div>
</div>
</div></div>
</div></div>
</div></div>
<div id="noroom" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">No room</span></h2></div>
<div class="region"><div class="contents">
<p class="p">If the unassigned space between two empty cells is smaller than any unassigned block then that space can be filled with empty cells.
		</p>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 4a</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Noroom-1.png" alt=""></div></div>
<p class="p">result ...
		  </p>
<div class="media media-image"><div class="inner"><img src="figures/Noroom-1b.png" alt=""></div></div>
</div>
<div class="desc">The 5 cell block cannot fit between the two empty cells so the the gap can be marked empty.
		  </div>
</div>
</div></div>
<p class="p">The same logic can sometimes allow blocks to be allocated to specific regions, which may allow some cells to be filled in using the "fixed cells" or "edge effects" logic shown above
		</p>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 4b</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Noroom-2.png" alt=""></div></div>
<p class="p">result ...
		  </p>
<div class="media media-image"><div class="inner"><img src="figures/Noroom-2b.png" alt=""></div></div>
</div>
<div class="desc">The two-cell regions in the centre exclude the three- and four-cell blocks.  The three-cell block can be fully fixed in the first region.  Three cells of the four-cell block can be fixed in the last five-cell region.
		  </div>
</div>
</div></div>
</div></div>
</div></div>
<div id="toobig" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Too big</span></h2></div>
<div class="region"><div class="contents">
<p class="p">If there is a group of filled cells that is longer than a certain block, that block cannot overlap (or adjoin) these cells and this limits the range of that block. This may allow cells to be filled.
		</p>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 5a</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Toobig-1.png" alt=""></div></div>
<p class="p">result ...
		  </p>
<div class="media media-image"><div class="inner"><img src="figures/Toobig-1b.png" alt=""></div></div>
</div>
<div class="desc">The 2-cell block cannot be associated with the 3 filled cells - this must be part of the 4-cell block. So the 2-cell block is restricted to the first three cells  allowing one cell to be filled.</div>
</div>
</div></div>
</div></div>
</div></div>
<div id="gapempty" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Gap can be marked empty</span></h2></div>
<div class="region"><div class="contents">
<p class="p">If there is a single cell gap between two filled cells and filling it would result in a block longer than any possible block, then the gap can be marked empty. If the blocks on either side can be identified then they can then be completed.
		</p>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 6a</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Gapempty-1.png" alt=""></div></div>
<p class="p">result ...
		  </p>
<div class="media media-image"><div class="inner"><img src="figures/Gapempty-1b.png" alt=""></div></div>
</div>
<div class="desc">Filled the gap would result in a 4-cell block which is longer than any possible. Therefore the gap must be empty. The 3-cell block can be completed on the left and the 2-cell block completed on the right. Some 'out of reach' cells can also be marked empty.
		  </div>
</div>
</div></div>
<div class="figure"><div class="inner">
<a href="#" class="zoom" data-zoom-in-title="View images at normal size" data-zoom-out-title="Scale images down"></a><div class="title title-figure"><h3><span class="title">Example 6b</span></h3></div>
<div class="region">
<div class="contents">
<div class="media media-image"><div class="inner"><img src="figures/Gapempty-2.png" alt=""></div></div>
<p class="p">result ...
		  </p>
<div class="media media-image"><div class="inner"><img src="figures/Gapempty-2b.png" alt=""></div></div>
</div>
<div class="desc">Filled the gap would result in a 3-cell block which is longer than any possible. Therefore the gap must be empty. However, the filled cells could be associated with either a 1-cell block or the 2-cell block, so cannot be completed.
		  </div>
</div>
</div></div>
</div></div>
</div></div>
<div class="sect sect-links">
<div class="hgroup"><h2><span class="title">Further Reading</span></h2></div>
<div class="contents"><div class="links guidelinks"><div class="inner">
<div class="title"><h3><span class="title">More About</span></h3></div>
<div class="region"><ul><li class="links"><a href="index.html" title="Gnonogram v 0.9.5 Manual"> <span class="media media-image"><img src="figures/gnonograms48.png" alt=""></span> Gnonogram v 0.9.5 Manual
</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"><div class="copyrights"></div></div>
</body>
</html>
